#ifndef CODER_H
#define CODER_H

#include <QObject>
#include <QString>
#include <QVector>

class Coder : public QObject{
Q_OBJECT
public:
	Coder( QObject * parent = 0 );

	//! Создать вспомагательной таблицы
	void createTable(int kolMsg);

	//! Кодировать сообщения
	QString coded(const QString & s);
	//! Декодировать сообщения
	QString decoded(const QString & s);

private:
	//! Количество передаваемых сообщений
	int N;
	//! Количество информационных разрядов
	int Nu;
	//! Количество контрольных разрядов
	int Nk;
	//! Общее количество разрядов
	int n;

	//! Вектор вспомагательной таблицы
	QVector <QString> table;

	//! Вектор ошибок
	QVector <int> S;
};

#endif // CODER_H
